The present invention relates to a control system in which a controller and a plurality of controlled devices are connected via a network. In particular, the present invention relates to a controller, controlled devices, a control method, and a control system in which the controlled devices store data used by the controller to control the controlled devices.
A study is under way for a system in which AV devices and data processing devices are interconnected with an IEEE1394 serial bus, which allows data transmission via isochronous communication and control signal transmission via asynchronous communication, for communication among those devices. The IEEE1394 serial bus is defined in xe2x80x9cIEEE Std 1394-1995xe2x80x9d under the title xe2x80x9cIEEE Standard for a High Performance Serial Busxe2x80x9d.
In addition, xe2x80x9cSpecification of the Home Audio/Video Interoperability (HAVi) (hereinafter abbreviated as HAVi specification)xe2x80x9d is disclosed as a communication protocol for controlling AV devices on a 1394 serial bus. Also described in this specification is a method for devices to provide a code unit that is data for controlling them from other devices.
A device conforming to the HAVi specification has xe2x80x9cSelf Describing Device Data (hereinafter abbreviated as SDD data)xe2x80x9d for describing its own function to other devices. SDD data, which is detailed in the HAVi specification, is stored in the configROM in the HAVi_Unit_Directory to allow other devices to reference it via the 1394 serial bus. The format of the configROM, an address space that may be referenced using asynchronous communication via the 1394 serial bus, is defined in xe2x80x9cISO/IEC 13213:1994 Control and Status Register (CSR) Architecture for Microcomputer Buses (IEEE Std 1212-1994xe2x80x9d and xe2x80x9cIEEE P1212 Draft 1.0, Draft Standard for a Control and Status Registers (CSR) Architecture for Microcomputer Buses, Oct. 18, 1999xe2x80x9d. In addition to the data structures defined by these specifications, directories and leaves of the vendor specific Vendor_Info (vendor information) may be defined.
The HAVi specification classifies AV devices into two types: controllers and controlled devices. A xe2x80x9cBase AV(BAV) Device (hereinafter abbreviated as BAV)xe2x80x9d, a typical controlled device, has SDD data and a DCM and uploads them to a controller. A xe2x80x9cFull AV (FAV) Device (hereinafter abbreviated FAV)xe2x80x9d, a typical controller, provides the HAVi system components and a Java run-time environment.
A BAV, which conforms to the HAVi specification, has a Device Control Module (hereinafter abbreviated as DCM) code unit stored in its SDD data. When an FAV downloads a DCM code unit and installs it in itself, a DCM is generated. The DCM is a program module for controlling the corresponding device. In addition, a Functional Control Module (hereinafter abbreviated FCM), which controls the sub-unit(s) of the corresponding unit, is also generated in some cases. An application on the FAV uses the DCMs and the FCMs to control the devices in the network system.
The xe2x80x9cDevice Control Module Manager (hereinafter abbreviated DCM Manager)xe2x80x9d in the FAV manages the DCMs on a HAVi-compliant network system as well as their installation. When the network is reset on the 1394 serial bus, the DCM Managers on the network system negotiate with each other to select the DCM Manager, called a final leader, which performs DCM processing on behalf of the DCM Managers.
In the HAVi network system described above, a plurality of AV devices (FAVs) on which HAVi system components are running are connected via the network. The devices on this network work together under control of the HAVi protocol to execute the functions of the devices.
On the other hand, a device (BAV) on which the HAVi system components are not running stores therein a DCM code unit to allow other devices to access this device. This allows a FAV to download the DCM code unit of the BAV and to install it into the FAV.
In the system described above, the DCM must be sometimes updated to increase the performance of the BAV function or to fix bugs. In this case, if the URL for obtaining the DCM is specified in the SDD data of the BAV, a newer DCM may be downloaded from a wide area network such as the Internet.
In this situation, if a device that is connectable to an external network is not in the HAVi network, a newer DCM is not available for use.
It is an object of the present invention to provide a method for making a newer DCM available in the HAVi network without connecting to an external network.
To solve this problem, the method according to the present invention has typically a configuration as described below.
That is, in a control system in which one or more controllers and a plurality of controlled devices are connected by a network, a controlled device (BAV) includes, in an externally readable memory area (SDD data), data for use by a controller (FAV) to control via the network a second controlled device (BAV) connectable to the network, and the controller (FAV) obtains the data from the controlled device (BAV) to generate a program for controlling the second controlled device.
To solve the above problem, the method according to the present invention uses a typical configuration described above. An updated DCM for controlling some other device, if stored in the configROM of a device, allows the updated DCM to be made available on an HAVi network even when no device can be connected to an external network.